home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc407.txt < prev    next >
Text File  |  1994-08-01  |  48KB  |  1,215 lines

  1.                                                          (Oct. 16, 1972)
  2.                                                        RFC 407 NIC 12112
  3.  
  4.  
  5. Robert Bressler, MIT-DMCG                              Obsoletes RFC 360
  6. Richard Guida, MIT-DMCG
  7. Alex McKenzie, BBN-NET
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.                        REMOTE JOB ENTRY PROTOCOL
  35.  
  36.                                                REMOTE Job Entry Protocol
  37.                                                          (Oct. 16, 1972)
  38.                                                        RFC 407 NIC 12112
  39.  
  40.  
  41.                        REMOTE JOB ENTRY PROTOCOL
  42.  
  43. INTRODUCTION
  44.  
  45.    Remote job entry is the mechanism whereby a user at one location
  46.    causes a batch-processing job to be run at some other location.  This
  47.    protocol specifies the Network standard procedures for such a user to
  48.    communicate over the Network with a remote batch-processing server,
  49.    causing that server to retrieve a job-input file, process the job,
  50.    and deliver the job's output file(s) to a remote location.  The
  51.    protocol uses a TELNET connection (to a special standardized logger,
  52.    not socket 1) for all control communication between the user and the
  53.    server RJE processes.  The server-site then uses the File Transfer
  54.    Protocol to retrieve the job-input file and to deliver the output
  55.    file(s).
  56.  
  57.    There are two types of users:  direct users (persons) and user
  58.    processes.  The direct user communicates from an interactive terminal
  59.    attached to a TIP or any host.  This user may cause the input and/or
  60.    output to be retrieved/sent on a specific socket at the specified
  61.    host (such as for card readers or printers on a TIP), or the user may
  62.    have the files transferred by file-id using File Transfer Protocol.
  63.    The other type of user is a RJE User-process in one remote host
  64.    communicating with the RJE Server-process in another host.  This type
  65.    of user ultimately receives its instructions from a human user, but
  66.    through some unspecified indirect means.  The command and response
  67.    streams of this protocol are designed to be readily used and
  68.    interpreted by both the human user and the user process.
  69.  
  70.    A particular user site may choose to establish the TELNET control
  71.    connection for each logical job or may leave the control connection
  72.    open for extended periods.  If the control connection is left open,
  73.    then multiple job-files may be directed to be retrieved or optionally
  74.    (to servers that are able to determine the end of one logical job by
  75.    the input stream and form several jobs out of one input file) one
  76.    continuous retrieval may be done (as from a TIP card reader).  This
  77.    then forms a "hot" card reader to a particular server with the TELNET
  78.    connection serving as a "job monitor".  Since the output is always
  79.    transferred job at a time per connection to the output socket, the
  80.    output from this "hot" reader would appear when ready as if to a
  81.    "hot" printer.  Another possibility for more complex hosts is to
  82.    attach an RJE User-process to a card reader and take instructions
  83.    from a lead control card, causing an RJE control TELNET to be opened
  84.    to the appropriate host with appropriate log-on and input retrieval
  85.    commands.  This card reader would appear to the human user as a
  86.    Network "hot" card reader.  The details of this RJE User-process are
  87.    beyond the scope of this protocol.
  88.  
  89.  
  90.  
  91.  
  92.  
  93.                                    1
  94.  
  95.                                                REMOTE Job Entry Protocol
  96.                                                          (Oct. 16, 1972)
  97.                                                        RFC 407 NIC 12112
  98.  
  99.  
  100. GENERAL SPECIFICATIONS
  101.  
  102.    User
  103.  
  104.       A human user at a real terminal or a process that supplies the
  105.       command control stream causing a job to be submitted remotely will
  106.       be termed the User.  The procedure by which a process user
  107.       receives its instructions is beyond the scope of this protocol.
  108.  
  109.    User TELNET
  110.  
  111.       The User communicates its commands over the Network in Network
  112.       Virtual Terminal code through a User TELNET process in the User's
  113.       Host.  This User TELNET process initiates its activity via ICP to
  114.       the standard "RJE Logger" socket (socket 5) at the desired
  115.       RJE-server Host.
  116.  
  117.    RJE-Server TELNET
  118.  
  119.       The RJE-server process receives its command stream from and sends
  120.       its response stream to the TELNET channel through an RJE-server
  121.       TELNET process in the server host.  This process must listen for
  122.       the ICP on the "RJE Logger" socket (and cause appropriate ICP
  123.       socket shifting).
  124.  
  125.    TELNET Connection
  126.  
  127.       The command and response streams for the RJE mechanism are via a
  128.       TELNET-like connection to a special socket with full
  129.       specifications according to the current NWG TELNET protocol.
  130.  
  131.    RJE-Server
  132.  
  133.       The RJE-Server process resides in the Host which is providing
  134.       Remote Batch Job Entry service.  This process receives input from
  135.       the RJE-server TELNET, controls access through the "log-on"
  136.       procedure, retrieves input job files, queues jobs for execution by
  137.       the batch system, responds to status inquiries, and transmits job
  138.       output files when available.
  139.  
  140.    User FTP
  141.  
  142.       All input and output files are transferred under control of the
  143.       RJE-server process at its initiative.  These files may be directly
  144.       transferred via Request-for-connection to a specific Host/socket
  145.       or they may be transferred via File Transfer Protocol.  If the
  146.       latter method is used, then the RJE-server acts through its local
  147.       User FTP process to cause the transfer.  This process initiates
  148.  
  149.  
  150.  
  151.  
  152.                                    2
  153.  
  154.                                                REMOTE Job Entry Protocol
  155.                                                          (Oct. 16, 1972)
  156.                                                        RFC 407 NIC 12112
  157.                                                                         
  158.                                                                         
  159.       activity by an active Request-for-connection to the "FTP Logger"
  160.       in the foreign host.
  161.  
  162.    Server FTP
  163.  
  164.       This process in a remote host (remote from the RJE-server) listens
  165.       for an ICP from the User FTP and then acts upon the commands from
  166.       the User FTP causing the appropriate file transfer.
  167.  
  168.    FTP
  169.  
  170.       When File Transfer Protocol is used for RJE files, the standard
  171.       FTP mechanism is used as fully specified by the current NWG
  172.       FTProtocol.
  173.  
  174.    RJE Command Language
  175.  
  176.       The RJE system is controlled by a command stream from the User
  177.       over the TELNET connection specifying the user's identity
  178.       (log-on), the source of the job input file, the disposition of the
  179.       job's output files, enquiring about job status, altering job
  180.       status or output disposition.  Additional commands affecting
  181.       output disposition are includable in the job input file.  This
  182.       command language is explicitly specified in a following section of
  183.       this protocol.
  184.  
  185.    RJE Command Replies
  186.  
  187.       Every command input from the User via TELNET calls for a response
  188.       message from the RJE-server to the User over the TELNET
  189.       connection.  Certain other conditions also require a response
  190.       message.  These messages are formatted in a standardized manner to
  191.       facilitate interpretation by both human Users and User processes.
  192.       A following section of this protocol specifies the response
  193.       messages.
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.                                    3
  212.  
  213.                                                REMOTE Job Entry Protocol
  214.                                                          (Oct. 16, 1972)
  215.                                                        RFC 407 NIC 12112
  216.                                                                         
  217.                                                                         
  218. RJE COMMANDS OVER TELNET CONNECTION
  219.  
  220.    GENERAL CONVENTIONS
  221.  
  222.    1. Each of the commands will be contained in one input line
  223.       terminated by the standard TELNET "crlf".  The line may be of any
  224.       length desired by the user (explicitly, not restricted to a
  225.       physical terminal line width).  The characters "cr" and "lf" will
  226.       be ignored by the RJE-server except in the explicit order "crlf"
  227.       and may be used as needed for local terminal control.
  228.  
  229.    2. All commands will begin with a recognized command name and may
  230.       then contain recognized syntactic element strings and free-form
  231.       variable strings (for user-id, file-ids, etc.).  Recognized words
  232.       consist of alphanumeric strings (letters and digits) or
  233.       punctuation.  Recognized alphanumeric string elements must be
  234.       separated from each other and from unrecognizable strings by at
  235.       least one blank or a syntacticly permitted punctuation.  Other
  236.       blanks may be used freely as desired before or after any syntactic
  237.       element ("blank" is understood here to mean ASCII SPACE (octal
  238.       040); formally:  <blank>::= <blank><ASCII SPACE> | <ASCII SPACE> ;
  239.       thus, a sequence of SPACES is also permissible in place of
  240.       <blank>, although there is no syntactic necessity for there to be
  241.       more than one).  The "=" after the command name in all commands
  242.       except OUT and CHANGE is optional.
  243.  
  244.    3. Recognized alphanumeric strings may contain upper case letters or
  245.       lower case letters in any mixture without syntactic
  246.       differentiation.  Unrecognizable strings will be used exactly as
  247.       presented with full differentiation of upper and lower case input,
  248.       unless the host finally using the string defines otherwise.
  249.  
  250.    4. There are two types of Unrecognizable strings:  final and
  251.       imbedded.  Final strings appear as the last syntactic element of a
  252.       command and are parsed as beginning with the next non-blank
  253.       character of the input stream and continuing to the last non-blank
  254.       character before the "crlf".
  255.  
  256.    Imbedded strings include "job-id" and "job-file-id" in the OUT,
  257.    CHANGE, and ALTER commands.  At present these fields will be left
  258.    undelimited since they must only be recognizable by the server host
  259.    which hopefully can recognize its own job-ids and file-names.
  260.  
  261.    SYNTAX
  262.  
  263.    The following command descriptions are given in a BNF syntax.  Names
  264.    within angle brackets are non-terminal syntactic elements which are
  265.    expanded in succeeding syntactic equations.  Each equation has the
  266.  
  267.  
  268.  
  269.  
  270.                                    4
  271.  
  272.                                                REMOTE Job Entry Protocol
  273.                                                          (Oct. 16, 1972)
  274.                                                        RFC 407 NIC 12112
  275.                                                                         
  276.                                                                         
  277.    defined name on the left of the ::= and a set of alternative
  278.    definitions, separated by vertical lines "|", on the right.
  279.  
  280.    REINITIALIZE
  281.  
  282.       REINIT
  283.  
  284.          This command puts the user into a state identical to the state
  285.          immediately after a successful connection to the RJE-server,
  286.          prior to having sent any commands over the TELNET connection.
  287.          The effective action taken is that of an ABORT and a flushing
  288.          of all INPUT, OUTPUT and ID information.  Naturally, the user
  289.          is still responsible for any usage charges incurred prior to
  290.          his REINIT command.  The TELNET connection is not affected in
  291.          any way.
  292.  
  293.    USER
  294.  
  295.       User = <user-id>
  296.  
  297.          This command must be the first command over a new TELNET
  298.          connection.  As such, it initiates a "logon" sequence.  The
  299.          response to this command is one of the following:
  300.  
  301.             1.  User code in error.
  302.             2.  Enter password (if user code ok).
  303.             3.  Log-on ok, proceed (if no password requested).
  304.  
  305.          Another USER command may be sent by the User at any time to
  306.          change Users.  Further input will then be charged to the new
  307.          user.  A server may refuse to honor a new user command if it is
  308.          not able to process it in its current state (during input file
  309.          transfer, for example), but the protocol permits the USER
  310.          command at any time without altering previous activity.  An
  311.          incorrect subsequent USER command or its following PASS command
  312.          are to be ignored with error response, leaving the original
  313.          User logged-in.
  314.  
  315.          It is permissable for a server to close the TELNET connection
  316.          if the initial USER/PASS commands are not completed within a
  317.          server specified time period.  It is not required or implied
  318.          that the "logged-on" User's user-id be the one used for file
  319.          transfer or job execution, but only identifies the submitter of
  320.          the command stream.  Servers will establish their own rules
  321.          relating user-id with the job-execution-user for Job or Output
  322.          alteration commands.
  323.  
  324.          Successful "log-on" always clears any previous Input or Output
  325.          default parameters (INID, etc.).
  326.  
  327.  
  328.  
  329.                                    5
  330.  
  331.                                                REMOTE Job Entry Protocol
  332.                                                          (Oct. 16, 1972)
  333.                                                        RFC 407 NIC 12112
  334.                                                                         
  335.                                                                         
  336.    PASS
  337.  
  338.       Pass = <password>
  339.  
  340.          This command immediately follows a USER command and completes
  341.          the "log-on" procedure.  Although a particular Server may not
  342.          require a password and has already indicated "log-on ok" after
  343.          the USER command, every Server must permit a PASS command (and
  344.          possibly ignore it) and acknowledge it with a "log-on ok" if
  345.          the log-on is completed.
  346.  
  347.    BYE
  348.  
  349.       BYE
  350.  
  351.          This command terminates a USER and requests the RJE server to
  352.          close the TELNET connection.  If input transfer is not in
  353.          progress, the TELNET connection may be closed immediately; if
  354.          input is in progress, the connection should remain open for
  355.          result response and then be closed.  During the interim, a new
  356.          USER command (and no other command) is acceptable.
  357.  
  358.          An unexpected close on the TELNET connection will cause the
  359.          server to take the effective action of an ABORT and a BYE.
  360.  
  361.    INID/INPASS
  362.  
  363.       INID = <user-id>
  364.       INPASS = <password>
  365.  
  366.          The specified user-id and password will be sent in the File
  367.          Transfer request to retrieve the input file.  These parameters
  368.          are not used by the Server in any other way.  If this command
  369.          does not appear, then the USER/PASS parameters are used.
  370.  
  371.    INPATH/INPUT
  372.  
  373.       INPATH = <file-id>
  374.       INPUT = <file-id>
  375.       INPUT
  376.  
  377.          NOTE:  The following syntax will be used for output as well.
  378.  
  379.             <file-id>::= <host-socket> | <host-file>
  380.             <host-socket>::= <host>,<socket><attributes> |
  381.                              <socket><attributes>
  382.                no <host> part implies the User-site host
  383.             <host>::= <integer>
  384.             <socket>::= <integer>
  385.  
  386.  
  387.  
  388.                                    6
  389.  
  390.                                                REMOTE Job Entry Protocol
  391.                                                          (Oct. 16, 1972)
  392.                                                        RFC 407 NIC 12112
  393.  
  394.  
  395.             <integer>::= D<decimal-integer> | O<octal-integer> |
  396.                          H<hexadecimal-integer>
  397.             <host-file>::= <host><attributes>/<pathname>
  398.             <attributes>::= <empty> | :<transmission><code>
  399.             <transmission>::= <empty> | T | A | N
  400.                   <empty> implies default which is N for Input files
  401.                           and A for Output files
  402.                   T       specifies TELNET-like coding with embedded
  403.                           "crlf" for new-line, "ff" for new-page
  404.                   N       specifies FTP blocked transfer with record
  405.                           marks but without other carriage-control
  406.                   A       specifies FTP blocked records with ASA
  407.                           carriage-control
  408.                           (column 1 of image is forms control)
  409.             <code>::= <empty> | E
  410.                   <empty> specifies NVT ASCII code
  411.                   E specifies EBCDIC
  412.             <pathname>::= <any string recognized by the FTP Server at
  413.                           the site of the file>
  414.  
  415.          The <file-id> syntax is the general RJE mechanism for
  416.          specifying a particular file source or destination for input or
  417.          output.  If the <host-socket> form is used then direct transfer
  418.          will be made by the RJE-Server to the named socket using the
  419.          specified <attributes>.  If the <host-file> form is used then
  420.          the RJE-server will call upon its local FTP-user process to do
  421.          the actual transfer.  The data stream in this mode is either
  422.          TELNET-like ASCII or blocked records (which may use column 1
  423.          for ASA carriage-control).  Although A mode is permitted on
  424.          input (column 1 is deleted) the usual mode is the default N.
  425.          The output supplies carriage-control in the first character of
  426.          each record ("blank" = single-space, "1" = new-page, etc.),
  427.          while the optional N mode transfers the data only (as to a card
  428.          punch, etc.).
  429.  
  430.          The <pathname> is an arbitrary Unrecognized string which is
  431.          saved by RJE-server and sent back over FTP to the FTP-server to
  432.          retrieve or store the appropriate files.
  433.  
  434.          INPATH or INPUT commands first store the specified <file-id> if
  435.          one is supplied, and then the INPUT command initiates input.
  436.          The INPATH name may be used to specify a file-id for later
  437.          input and the INPUT command without file-id will cause input to
  438.          initiate over a previously specified file-id.  An INPUT "crlf"
  439.          command with no previous <file-id> specified is illegal.
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.                                    7
  448.  
  449.                                                REMOTE Job Entry Protocol
  450.                                                          (Oct. 16, 1972)
  451.                                                        RFC 407 NIC 12112
  452.                                                                         
  453.                                                                         
  454.    ABORT
  455.  
  456.       ABORT
  457.  
  458.          This command aborts any input retrieval in progress, discards
  459.          already received records, and closes the retrieval connection.
  460.          Note:  ABORT with parameters is an Output Transmission control
  461.          (see below).
  462.  
  463.    OUTUSER/OUTPASS
  464.  
  465.       OUTUSER = <user-id>
  466.       OUTPASS = <password>
  467.  
  468.          The specified user-id and password will be sent in the File
  469.          Transfer request to send the output file(s).  These parameters
  470.          are not used by the Server in any other way.  If this command
  471.          does not appear, then the USER/PASS parameters are used.
  472.  
  473.    OUT
  474.  
  475.       OUT <out-file> = <disp>
  476.  
  477.          <out-file>::= <empty> | <job-file-id>
  478.                <empty> implies the primary print file of the job
  479.          <job-file-id>::= <string representing a specific output file
  480.                           from the job as recognized by the Server>
  481.          <disp>::= <empty><file-id> | (H) | (S)<file-id>|(D)
  482.                <empty> specifies Transmit then discard
  483.                (H) specifies Hold-only, do not transmit
  484.                (S) specifies Transmit and Save
  485.                (D) specifies discard without transmitting
  486.          Note:  Parentheses are part of the above elements.
  487.  
  488.          <file-id>::= (same as for INPUT command)
  489.  
  490.          This command specifies the disposition of output file(s)
  491.          produced by the job.  Unspecified files will be Hold-only by
  492.          default.  The OUTUSER, OUTPASS, and OUT commands must be
  493.          specified before the INPUT command to be effective.  These
  494.          commands will affect any following jobs submitted by this USER
  495.          over this RJE-TELNET connection.  A particular job may override
  496.          these commands by NET control cards on the front of the input
  497.          file.
  498.  
  499.          Once output disposition is specified by this OUT command or by
  500.          a NET OUT card, the information is kept with the job until
  501.          final output disposition, and is modifiable by the CHANGE
  502.          command.
  503.  
  504.  
  505.  
  506.                                    8
  507.  
  508.                                                REMOTE Job Entry Protocol
  509.                                                          (Oct. 16, 1972)
  510.                                                        RFC 407 NIC 12112
  511.                                                                         
  512.                                                                         
  513.          On occasion, the server may find that the destination for the
  514.          output is "busy" (i.e., RFC to either Server-FTP or specified
  515.          socket is refused), or that the host which should receive the
  516.          output is dead.  In these cases, the server should wait several
  517.          minutes and then try to transmit again.
  518.  
  519.    OUTPUT RE-ROUTE
  520.  
  521.       CHANGE <job-id><blank><out-file> = <disp>
  522.  
  523.          This command changes the output disposition supplied with the
  524.          job at submission.  The <job-id> is assumed recognizable by the
  525.          RJE-server, who may verify if this USER is authorized to modify
  526.          the specified job.  After the job is identified, the other
  527.          information has the same syntax and semantics as the original
  528.          OUT command.  CHANGE command may be specified for a job-file-id
  529.          which was not mentioned at submission time and has the same
  530.          effect as an original OUT command.
  531.  
  532.    OUTPUT CONTROLS DURING TRANSMISSION
  533.  
  534.       <command><blank><count><blank><what>
  535.  
  536.       <command>::= RESTART | RECOVER | BACK | SKIP |
  537.       ABORT | HOLD
  538.  
  539.       These commands specify (respectively):
  540.  
  541.          Restart the transmission (new RFC, etc.)
  542.          Recover restarts transmission from last FTP
  543.          Restart-marker-reply
  544.          (see FTP).
  545.          Back up the output "count" blocks
  546.          Skip the output forward "count" blocks
  547.          Abort the output, discarding it
  548.          Abort the output, but Hold it
  549.  
  550.       <count>::= <empty> | <integer>
  551.          <empty> implies 1 where defined
  552.       <what>::= @<file-id> | <job-id><job-file-id>
  553.       <disp>::= (same as for OUT command)
  554.       <file-id>::= (same as for INPUT command)
  555.       <integer>::= (same as for INPUT command)
  556.       <job-id>::= <server recognized job identifier which was supplied
  557.                   at INP completion by the server>
  558.  
  559.       <job-file-id>::= <server recognized file identifier or if missing
  560.                        then the prime printer output of the specified
  561.                        job>
  562.  
  563.  
  564.  
  565.                                    9
  566.  
  567.                                                REMOTE Job Entry Protocol
  568.                                                          (Oct. 16, 1972)
  569.                                                        RFC 407 NIC 12112
  570.                                                                         
  571.                                                                         
  572.       This collection of commands will modify the transmission of output
  573.       in progress or recently aborted.  If output transmission is
  574.       cut-off before completion, then the RJE-server will either try to
  575.       resend the entire file if the file's <disp> was
  576.       Transmit-and-discard or will Hold the file for further User
  577.       control if the <disp> was (S) transmit-and-Save.  Either during
  578.       transmission, during the Save part of a transmit-and-Save, or for
  579.       a Hold-only file, the above commands may be used to control the
  580.       transmission.  The @<file-id> form of <what> is permitted only if
  581.       transmission is actually in progress.
  582.  
  583.       If the file's state is inconsistent with the command, then the
  584.       command is illegal and ignored with reply.
  585.  
  586.    STATUS
  587.  
  588.       STATUS <job-id>
  589.       STATUS <job-id><blank><job-file-id>
  590.  
  591.          These commands request the status of the RJE-server, a
  592.          particular job, or the transmission of an output or input file,
  593.          respectively.  The information content of the Status reply is
  594.          site dependent.
  595.  
  596.    CANCEL/ALTER
  597.  
  598.       CANCEL <job-id>
  599.       ALTER <job-id><blank><site dependent options>
  600.  
  601.          These commands change the course of a submitted job.  CANCEL
  602.          specifies that the job is to be immediately terminated and any
  603.          output discarded.  ALTER provides for system dependent options
  604.          such as changing job priority, process limits, Teminate without
  605.          Cancel, etc.
  606.  
  607.    OP
  608.  
  609.       OP (any string)
  610.  
  611.          The specified string is to be displayed to the Server site
  612.          operator when any following job is initiated from the batch
  613.          queue of the Server.  This command usually appears in the input
  614.          file as a NET OP control card, but may be a TELNET command.  It
  615.          is cancelled as an all-jobs command by an OP "crlf" command (no
  616.          text supplied).
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.                                    10
  625.  
  626.                                                REMOTE Job Entry Protocol
  627.                                                          (Oct. 16, 1972)
  628.                                                        RFC 407 NIC 12112
  629.                                                                         
  630.                                                                         
  631. RJE CONTROL CARDS IN THE INPUT FILE
  632.  
  633.    Certain RJE commands may be specified by control cards in the front
  634.    of the input file.  If these controls appear, they take precedence
  635.    over the same command given thru the RJE-TELNET connection and affect
  636.    only this specific job.  All these RJE control cards must appear as
  637.    the first records of the job's input-file.  They all contain the
  638.    control word NET in columns 1 through 3.  Scanning for these controls
  639.    stops when the first card without NET in col 1-3 is encountered.
  640.  
  641.    The control commands appear in individual records and are terminated
  642.    by the end-of-record (usually an 80 column card-image).  Continuation
  643.    is permitted onto the next record by the appearance of NET+ in
  644.    columns 1-4 of the next record.  Column 5 of the next record
  645.    immediately follows the last character of the previous record.
  646.  
  647.       NET OUTUSER = <user-id>
  648.       NET OUTPASS = <password>
  649.       NET OUT <out-file> = <disp>
  650.       NET OP <any string>
  651.  
  652.    See the corresponding TELNET command for details.  One option
  653.    permitted by the NET OUTUSER and NET OUT controls not possible from
  654.    the TELNET connection is specification of different OUTUSERs for
  655.    different OUTS, since the TELNET stored and supplies only an initial
  656.    OUTUSER, but the controls may change OUTUSERs before each OUT control
  657.    is encountered.
  658.  
  659. RJE USE OF FILE TRANSFER PROTOCOL
  660.  
  661.    Most non-TIP files will be transferred to or from the RJE-server
  662.    through the FTP process.  RJE-server will call upon its local
  663.    FTP-user supplying the Host, File-pathname, User-id, Password, and
  664.    Mode of the desired transfer.  FTP-user will then connect to its
  665.    FTP-server counterpart in the specified host and set up a transfer
  666.    path.  Data will then flow through the RJE-FTP interface in the
  667.    Server, over the Network, from/to the foreign FTP-server and then
  668.    from/to the specified File-pathname in the foreign host's file
  669.    storage space.  On output files, the file-pathname may be recognized
  670.    by the foreign host as directions to a printer or the file may simply
  671.    be stored; a User-RJE-process can supply an output <file-id> by
  672.    default which is recognized by its own Server-FTP as routing to a
  673.    printer.
  674.  
  675.    Although many specifics of the RJE-Server/User-FTP interface are
  676.    going to be site dependent, there are several FTP options which will
  677.    be used in a standard way by RJE-Servers:
  678.  
  679.  
  680.  
  681.  
  682.  
  683.                                    11
  684.  
  685.                                                REMOTE Job Entry Protocol
  686.                                                          (Oct. 16, 1972)
  687.                                                        RFC 407 NIC 12112
  688.                                                                         
  689.                                                                         
  690.       1. A new FTP connection will be initiated for each file to be
  691.          transferred.  The connection will be opened with the RJE User
  692.          supplied User-id (OUTUSER or INUSER) and Password.
  693.  
  694.       2. The data bytesize will be 8 bits.
  695.  
  696.       3. The FTP Type, Structure, and Mode parameters are determined by
  697.          the RJE transfer direction (I/O), and the <transmission> and
  698.          <code> options supplied by the User:
  699.  
  700.      I/O   <TRANS>   <CODE>   FTP-TYPE   FTP-STRUCTURE   FTP-MODE
  701.       I*      N        -         A             R            B
  702.       I       N        E         E             R            B
  703.       I       T        -         A             F            S
  704.       I       T        E         E             F            S
  705.       I       A        -         P             R            B
  706.       I       A        E         F             R            B
  707.    
  708.       O*      A        -         P             R            B
  709.       O       A        E         F             R            B
  710.       O       N        -         A             R            B
  711.       O       N        E         E             R            B
  712.       O       T        -         A             F            S
  713.       O       T        E         E             F            S
  714.    
  715.               (*indicates default)
  716.  
  717.       4. The service commands used will be Retrieve for input and Append
  718.          (with create) for output.  The FTP pathname will be the
  719.          <pathname> supplied by the RJE User.
  720.  
  721.       5. On output in B form, the User-FTP at the RJE-Server site will
  722.          send Restart-markers at periodic intervals (like every 100
  723.          lines, or so), and will remember the latest
  724.          Restart-marker-reply with the file.  If the file transfer is
  725.          not completed and the <disp> is (S) then the file will be held
  726.          pending User intervention.  The User may then use the RECOVER
  727.          command to cause a FTP restart at the last remembered
  728.          Restart-marker-reply.
  729.  
  730.       6. The FTP Abort command will be used for the RJE ABORT and CANCEL
  731.          commands.
  732.  
  733.       7. For transfers where the FTP-MODE is defined as B, the user FTP
  734.          may optionally attempt to use H mode.
  735.  
  736.    The specific form of the FTP commands used by an RJE-Server site, and
  737.    the order in which they are used will not be specified in this
  738.    protocol.
  739.  
  740.  
  741.  
  742.                                    12
  743.  
  744.                                                REMOTE Job Entry Protocol
  745.                                                          (Oct. 16, 1972)
  746.                                                        RFC 407 NIC 12112
  747.                                                                         
  748.                                                                         
  749.    Errors encountered by FTP fall into three categories:  a) access
  750.    errors or no storage space error; b) command format errors; and c)
  751.    transfer failure errors.  Since the commands are created by the
  752.    RJE-Server process, an error is a programming problem and should be
  753.    logged for attention and the situation handled as safely as possible.
  754.    Transmission failure or access failure on input cause an effective
  755.    ABORT and user notification.  Transmission failure on output causes
  756.    RESTART or Save depending on <disp> (see OUT command).  Access
  757.    failure on output is a problem since the User may not be accessible.
  758.    A status response should be queued for him, should he happen to
  759.    inquire; a <disp> = (S) file should be Held; and a <disp> = <empty>
  760.    transmit-and-discard file should be temporarily held and then
  761.    discarded if not claimed.  "Temporarily" is understood here to mean
  762.    at least several days, since particularly in the case of jobs which
  763.    generate voluminous output at great expense to the User, he should be
  764.    given every chance to retrieve his rightful output.  Servers may
  765.    elect, however, to charge the User for the file-storage space
  766.    occupied by the held output.
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.                                    13
  802.  
  803.                                                REMOTE Job Entry Protocol
  804.                                                          (Oct. 16, 1972)
  805.                                                        RFC 407 NIC 12112
  806.                                                                         
  807.                                                                         
  808. REPLIES OVER THE TELNET CONNECTION
  809.  
  810.    Each action of the RJE-server, including entry of each TELNET
  811.    command, is noted over the TELNET connection to the User.  These
  812.    RJE-server replies are formatted for Human or Process interpretation.
  813.    They consist of a leading 3-digit numeric code followed by a blank
  814.    followed by a text explanation of the message.  The numeric codes are
  815.    assigned by groups for future expansion to hopefully cover other
  816.    protocols besides RJE (like FTP).  The numeric code is designed for
  817.    ease of interpretation by processes.  The three digits of the code
  818.    are interpreted as follows:
  819.  
  820.    The first digit specified the "type" of response indicated:
  821.  
  822.       000
  823.  
  824.          These "replies" are purely informative, and are issued
  825.          voluntarily by the Server to inform a User of some state of the
  826.          server's system.
  827.  
  828.       100
  829.  
  830.          Replies to a specific status inquiry.  These replies serve as
  831.          both information and as acknowledgment of the status request.
  832.  
  833.       200
  834.  
  835.          Positive acknowledgment of some previous command/request.  The
  836.          reply 200 is a generalized "ok" for commands which require no
  837.          other comment.  Other 2xx replies are specified for specific
  838.          successful actions.
  839.  
  840.       300
  841.  
  842.          Incomplete information supplied so far.  No major problem, but
  843.          activity cannot proceed with the input specified.
  844.  
  845.       400
  846.  
  847.          Unsuccessful reply.  A request was correctly specified, but
  848.          could not be correctly completed.  Further attempts will
  849.          require User commands.
  850.  
  851.       500
  852.  
  853.          Incorrect or illegal command.  The command or its parameters
  854.          were invalid or incomplete from a syntactic view, or the
  855.          command is inconsistent with a previous command.  The command
  856.          in question has been totally ignored.
  857.  
  858.  
  859.  
  860.                                    14
  861.  
  862.                                                REMOTE Job Entry Protocol
  863.                                                          (Oct. 16, 1972)
  864.                                                        RFC 407 NIC 12112
  865.                                                                         
  866.                                                                         
  867.       600-900
  868.  
  869.          Reserved for expansion
  870.  
  871.    The second digit specifies the general subject to which the response
  872.    refers:
  873.  
  874.       x00-x29
  875.  
  876.          General purpose replies, not assignable to other subjects.
  877.  
  878.       x30
  879.  
  880.          Primary access.  These replies refer to the attempt to "log-on"
  881.          to a Server service (RJE, FTP, etc.).
  882.  
  883.       x40
  884.  
  885.          Secondary access.  The primary Server is commenting on its
  886.          ability to access a secondary service (RJE must log-on to a
  887.          remote FTP service).
  888.  
  889.       x50
  890.  
  891.          FTP results.
  892.  
  893.       x60
  894.  
  895.          RJE results.
  896.  
  897.       x70-x99
  898.  
  899.          Reserved for expansion.
  900.  
  901.    The final digit specifies a particular message type.  Since the code
  902.    is designed for an automaton process to interpret, it is not
  903.    necessary for every variation of a reply to have a unique number,
  904.    only that the basic meaning have a unique number.  The text of a
  905.    reply can explain the specific reason for the reply to a human User.
  906.  
  907.    Each TELNET line (ended by "crlf") from the Server is intended to be
  908.    a complete reply message.  If it is necessary to continue the text of
  909.    a reply onto following lines, then those continuation replies contain
  910.    the special reply code of three blanks.
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.                                    15
  920.  
  921.                                                REMOTE Job Entry Protocol
  922.                                                          (Oct. 16, 1972)
  923.                                                        RFC 407 NIC 12112
  924.                                                                         
  925.                                                                         
  926.    The assigned reply codes relating to RJE are:
  927.  
  928.    000 General information message (time of day, etc.)
  929.    030 Server availability information
  930.    050 FTP commentary or user information
  931.    060 RJE or Batch system commentary or information
  932.    100 System status reply
  933.    150 File status reply
  934.    151 Directory listing reply
  935.    160 RJE system general status reply
  936.    161 RJE job status reply
  937.    200 Last command received ok
  938.    201 An ABORT has terminated activity, as requested
  939.    202 ABORT request ignored, no activity in progress
  940.    203 The requested Transmission Control has taken effect
  941.    204 A REINIT command has been executed, as requested
  942.    230 Log-on completed
  943.    231 Log-off completed, goodbye.
  944.    232 Log-off noted, will complete when transfer done
  945.    240 File transfer has started
  946.    250 FTP File transfer started ok
  947.    251 FTP Restart-marker-reply
  948.       Text is:  MARK yyyy = mmmm
  949.          where yyyy is data stream marker value (yours)
  950.          and mmmm is receiver's equivalent mark (mine)
  951.    252 FTP transfer completed ok
  952.    253 Rename completed
  953.    254 Delete completed
  954.    260 Job <job-id> accepted for processing
  955.    261 Job <job-id> completed, awaiting output transfer
  956.    262 Job <job-id> Cancelled as requested
  957.    263 Job <job-id> Altered as requested to state <status>
  958.    264 Job <job-id>,<job-file-id> transmission in progress
  959.    300 Connection greeting message, awaiting input
  960.    301 Current command not completed (may be sent after
  961.       suitable delay, if not "crlf")
  962.    330 Enter password (may be sent with hide-your-input mode)
  963.    360 INPUT has never specified an INPATH
  964.    400 This service is not implemented
  965.    401 This service is not accepting log-on now, goodbye.
  966.    430 Log-on time or tries exceeded, goodbye.
  967.    431 Log-on unsuccessful, user and/or password invalid
  968.    432 User not valid for this service
  969.    434 Log-out forced by operator action, please phone site
  970.    435 Log-out forced by system problem
  971.    436 Service shutting down, goodbye
  972.    440 RJE could not log-on to remote FTP for input transfer
  973.    441 RJE could not access the specified input file thru FTP
  974.    442 RJE could not establish <host-socket> input connection
  975.  
  976.  
  977.  
  978.                                    16
  979.  
  980.                                                REMOTE Job Entry Protocol
  981.                                                          (Oct. 16, 1972)
  982.                                                        RFC 407 NIC 12112
  983.                                                                         
  984.                                                                         
  985.    443 RJE could not log-on to remote FTP for output delivery
  986.    444 RJE could not access file space given for output
  987.    445 RJE could not establish <host-socket> output connection
  988.    450 FTP:  The named file does not exist (or access denied)
  989.    451 FTP:  The named file space not accessable by YOU
  990.    452 FTP:  Transfer not completed, data connection closed
  991.    453 FTP:  Transfer not completed, insufficient storage space
  992.    460 Job input not completed, ABORT performed
  993.    461 Job format not acceptable for processing, Cancelled
  994.    462 Job previously accepted has mysteriously been lost
  995.    463 Job previously accepted did not complete
  996.    464 Job-id referenced by STATUS, CANCEL, ALTER, CHANGE, or
  997.       Transmission Control is not known (or access denied)
  998.    465 Request Alteration is not permitted for the specified job
  999.    466 Un-deliverable, un-claimed output for <job-id> discarded
  1000.    467 Requested REINIT not accomplished
  1001.    500 Last command line completely unrecognized
  1002.    501 Syntax of the last command is incorrect
  1003.    502 Last command incomplete, parameters missing
  1004.    503 Last command invalid, illegal parameter combination
  1005.    504 Last command invalid, action not possible at this time
  1006.    505 Last command conflicts illegally with previous command(s)
  1007.    506 Requested action not implemented by this Server
  1008.    507 Job <job-id> last command line completely unrecognized
  1009.    508 Job <job-id> syntax of the last command is incorrect
  1010.    509 Job <job-id> last command incomplete, parameters missing
  1011.    510 Job <job-id> last command invalid, illegal parameter
  1012.       combination
  1013.    511 Job <job-id> last command invalid, action impossible at
  1014.       this time
  1015.    512 Job <job-id> last command conflicts illegally with previous
  1016.       command(s)
  1017.  
  1018. SEQUENCING OF COMMANDS AND REPLIES
  1019.  
  1020.    The communication between the User and Server is intended to be an
  1021.    alternating dialogue.  As such, the User issues an RJE command and
  1022.    the Server responds with a prompt primary reply.  The User should
  1023.    wait for this initial success or failure response before sending
  1024.    further commands.
  1025.  
  1026.    A second type of reply is sent by Server asynchronously with respect
  1027.    to User commands.  These replies report on the progress of a job
  1028.    submission caused by the INPUT command and as such are secondary
  1029.    replies to that command.
  1030.  
  1031.    The final class of Server "replies" are strictly informational and
  1032.    may arrive at any time.  These "replies" are listed below as
  1033.    spontaneous.
  1034.  
  1035.  
  1036.  
  1037.                                    17
  1038.  
  1039.                                                REMOTE Job Entry Protocol
  1040.                                                          (Oct. 16, 1972)
  1041.                                                        RFC 407 NIC 12112
  1042.                                                                         
  1043.                                                                         
  1044. COMMAND-REPLY CORRESPONDENCE TABLE
  1045.  
  1046.    COMMAND                    SUCCESS          FAILURE
  1047.  
  1048.    REINIT                     204              467,500-505
  1049.    USER                       230,330          430-432,500-505
  1050.    PASS                       230              430-432,500-505
  1051.    BYE                        231,232          500-505
  1052.    INID                       200              500-505
  1053.    INPASS                     200              500-505
  1054.    INPATH                     200              500-505
  1055.    INPUT                      240              360,440-442,500-505
  1056.       sec. input retrieval    260              460,461
  1057.       sec. job execution      261              462,463
  1058.       sec. output transmission -               443-445,466
  1059.    ABORT (input)              201,202          500-505
  1060.    OUTUSER                    200              500-505
  1061.    OUTPASS                    200              500-505
  1062.    OUT                        200              500-505
  1063.    CHANGE                     200              500-505
  1064.    RESTART/RECOVER/BACK
  1065.     /SKIP/ABORT (output)/HOLD 203              464,500-506
  1066.    STATUS                     1xx,264          460-465,500-505
  1067.    CANCEL                     262              464,500-506
  1068.    ALTER                      263              464,465,500-506
  1069.    OP                         200              500-505
  1070.    Spontaneous                0xx,300,301      434-436
  1071.  
  1072.    Note:  For commands appearing on cards, a separate set of error codes
  1073.    is provided (507-512).  Since these error replies are
  1074.    "asynchronously" sent, and thus could cause some confusion if the
  1075.    user is in the process of submitting a new job after the present one,
  1076.    the error replies must identify which job has the faulty card(s).
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.                                    18
  1097.  
  1098.                                                REMOTE Job Entry Protocol
  1099.                                                          (Oct. 16, 1972)
  1100.                                                        RFC 407 NIC 12112
  1101.                                                                         
  1102.                                                                         
  1103.    TYPICAL RJE SCENARIOS
  1104.  
  1105.       TIP USER WANTING HOT CARD READER TO HOSTX
  1106.  
  1107.          1. TIP user opens TELNET connection to HOSTX socket 5
  1108.  
  1109.          2. Commands sent over TELNET to RJE
  1110.  
  1111.             USER=myself
  1112.             PASS=dorwssap
  1113.             OUT=H70002
  1114.             INPUT=H50003
  1115.  
  1116.          3. RJE-server connects to the TIP's device 5 and begins
  1117.             reading.  When end-of-job card is recognized, the job is
  1118.             queued to run.  The connection to the card reader is still
  1119.             open for more input as another job.
  1120.  
  1121.          4. The first job finishes.  A connection to the TIP's device 7
  1122.             is established by RJE-server and the output is sent as an
  1123.             NVT stream.
  1124.  
  1125.          5. Continue at any time with another deck at step 3.
  1126.  
  1127.       TIP WITH JOB-AT-A-TIME CARD READER
  1128.  
  1129.          1. thru 4) the same but User closes Reader after the deck
  1130.  
  1131.          2. The output finishes and the printer connection closes.
  1132.  
  1133.          3. INPUT may be typed any time after step 3 finishes and
  1134.             another job will be entered starting at 3.
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.                                    19
  1156.  
  1157.                                                REMOTE Job Entry Protocol
  1158.                                                          (Oct. 16, 1972)
  1159.                                                        RFC 407 NIC 12112
  1160.                                                                         
  1161.                                                                         
  1162.       HOSTA USER RUNS JOB AT HOSTC, INPUT FROM HOSTB
  1163.  
  1164.          1. User TELNET connects to HOSTC socket 5 for RJE
  1165.  
  1166.             USER=roundabout
  1167.             PASS=aaabbbc
  1168.             OUTUSER=roundab1
  1169.             OUT=:E/.sysprinter
  1170.             OUT puncher = (S)HOSTB:NE/my.savepunch
  1171.             INUSER=rounder
  1172.             INPASS=x.x.x
  1173.             INPUT=HOSTB:E/my.jobinput
  1174.  
  1175.          2. The RJE-server has FTP retrieve the input from HOSTB using
  1176.             User-id of "rounder" and Password of "x.x.x" for file named
  1177.             "my.jobinput".
  1178.  
  1179.          3. The job finishes.  RJE-server uses FTP to send two files:
  1180.             the print output is sent to HOSTA in EBCDIC with ASA
  1181.             carriage control to file ".sysprinter" while the file known
  1182.             as "puncher" is sent to HOSTB in EBCDIC without
  1183.             carriage-control to file "my.savepunch".
  1184.  
  1185.          4. when the outputs finish, RJE-server at HOSTC discards the
  1186.             print file but retains the "puncher" file.
  1187.  
  1188.          5. The User who has signed out after job submission has gotten
  1189.             his output and checked his file "my.savepunch" at HOSTB.  He
  1190.             deletes the saved copy at HOSTC by re-calling RJE at HOSTC.
  1191.  
  1192.             USER=roundabout
  1193.             PASS=aaabbbcc
  1194.             ABORT job 123 puncher
  1195.                    or
  1196.             CHANGE job 123 puncher = (D)
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.                                    20
  1215.